package com.showmaker.mapper;

import com.showmaker.bean.Member;
import org.apache.ibatis.annotations.Param;

public interface MemberMapper {
    /**
     * 通过手机号查询用户
     * @param telephone 输入的手机号
     * @return 返回查询到的用户
     */
    public Member getMemberByTelephone(String telephone);

    /**
     * 添加一条Member记录
     * @param member 要添加的记录
     */
    public void insertMember(Member member);

    /**
     * 根据日期统计会员数，统计指定日期之前的会员数
     * @param date 这个日期之前的数据
     * @return 返回会员的个数
     */
    public int findMemberCountBeforeDate(String date);

    /**
     * 统计指定日期新增的会员数
     * @param date 指定的日期
     * @return 返回指定日期的新增的会员数
     */
    public int getMemberCountByDate(String date);

    /**
     * 获取总会员数量
     * @return 返回总会员数量
     */
    public int getTotalMemberCount();

    /**
     * 获取本周新增的会员数
     * @param firstDayOfWeek 本周的开始日期
     * @param lastDayOfWeek 本周的结束日期
     * @return 返回本周新增的会员数
     */
    public int getWeekNewMember(@Param("firstDayOfWeek") String firstDayOfWeek, @Param("lastDayOfWeek") String lastDayOfWeek);

    /**
     * 获取本月新增的会员数
     * @param firstDayOfWeek 本月的开始日期
     * @param lastDayOfWeek 本月的结束日期
     * @return 返回本月新增的会员数
     */
    public int getMonthNewMember(@Param("firstDayOfMonth") String firstDayOfMonth, @Param("lastDayOfMonth") String lastDayOfMonth);
}
